#include <iostream>
#include <spdlog/spdlog.h>
#include <spdlog/sinks/stdout_color_sinks.h>


int main()
{
    //设置全局的刷新策略
    spdlog::flush_every(std::chrono::seconds(1)); //每秒刷新 , error
    spdlog::flush_on(spdlog::level::level_enum::debug); //遇到debug以上等级的日志立即刷新
    //设置全局的日志输出等级
    spdlog::set_level(spdlog::level::level_enum::debug);
    //创建同步日志器
    auto logger = spdlog::stdout_color_mt("logger");
    //设置日志器的刷新策略 -- 默认创建同步日志器
    logger->set_level(spdlog::level::trace);
    //设置日志输出格式
    logger->set_pattern("[%H:%M:%S] [%t] [%-7l] %v");
    //简单的日志输出
    logger->debug("你好!(default color)");
    logger->info("你好! {} (default color)","袁永丰");
    logger->warn("你好! {} (default color)","袁永丰");
    logger->error("你好! {} (default color)","袁永丰");
    logger->trace("你好! {} (default color)","袁永丰");
    auto console = spdlog::stdout_color_mt("console");
    console->set_level(spdlog::level::trace);

    console->trace("Trace message (default color)");
    console->debug("Debug message (default color)");
    console->info("Info message (default color)");
    console->warn("Warn message (default color)");
    console->error("Error message (default color)");
    console->critical("Critical message (default color)");
    std::cout <<  "日志输出演示完毕" << std::endl;
    return 0;
}



